/*
 * @Author: zxhuan 
 * @Date: 2018-04-11 10:03:57 
 * @Blog:www.zxhuan.com 
 * @Email:1123046380@qq.com 
 * @Last Modified time: 2018-04-11 10:03:57 
 */
import { dataURL } from '@/mock/dataURL';
import { Ajax } from '@/ajax';
/**
 * 获取所有币种
 * @param {*} parmas 
 * method Type Post
 * token 是 string 令牌
 */
const GetAllCoinType = (parmas) => Ajax.Post(dataURL.coins.getAllCoinType, parmas);
/**
 * 获取该币种市场数据
 * @param {*} parmas 
 * method Type Post
 * coinNo 是 int 币种编号
 * state 是 int 币种状态 状态（0：禁用，1：启用，2：删除）
 */
const GetGroupingByCoinNo = (parmas) => Ajax.Post(dataURL.coins.getGroupingByCoinNo, parmas);
/**
 * 根据分区币种获取改分区的数据
 * @param {*} parmas 
 * method Type Post
 * type 是 int 分区币种编号
 * pageNum 是 string 分页—当前页数
 * userId 否 int 用户编号
 * pageItem 是 string 分页—每页条数
 */
const GetCoinTrateInfo = (parmas) => Ajax.Post(dataURL.coins.getCoinTrateInfo, parmas);
/**
 * 买卖模式
 * @param {*} parmas 
 * method Type get
 * userNo 是 int userNo
 * entrustNo 是 int 交易类型
 * convertNo 是 int 兑换货币编号
 * pageSize 是 int 当前页
 * lineSize 是 int 每页数量
 */
const GetCoinEntrustPattern = (parmas) => Ajax.Get(dataURL.coins.getCoinEntrustPattern, parmas);
/**
 * 币币交易当前数值
 * @param {*} parmas 
 * method Type Post
 * entrustNo 是 int 货币编号
 * convertNo 是 int 兑换货币编号
 */
const GetTradeStatus = (parmas) => Ajax.Post(dataURL.coins.getTradeStatus, parmas);
/**
 * 最新行情数据-交易记录
 * @param {*} parmas 
 * method Type Post
 * coinNo 是 int 币种编号
 * convertNo 是 int 兑换货币编号
 * pageSize 是 int 当前页
 * lineSize 是 int 每页数量
 * dealType 是 int 交易方式
 */
const GetCoinTradeDetail = (parmas) => Ajax.Get(dataURL.coins.getCoinTradeDetail, parmas);
/**
 * 根据货币名称搜索货币
 * @param {*} parmas 
 * method Type get
 * coinName 是 string 货币名称 （按开头文字搜索）
 */
const SearchByCoinName = (parmas) => Ajax.Post(dataURL.coins.searchByCoinName, parmas);
/**
 * 根据名字或者core搜索货币资料
 * @param {*} parmas 
 * searchFiled 是 string 根据名字或者core搜索货币资料
 * pageNum 是 string 分页—当前页数
 * userId 否 int 用户编号
 * pageItem 是 string 分页—每页条数
 */
const FindCoinDataByName = (parmas) => Ajax.Post(dataURL.coins.findCoinDataByName, parmas);

/**
 * 币币交易委托
 * @param {*} params 
 * method Type Post
 * userNo 用户名
 * coinNo 交易货币编号
 * convertNo 兑换货币编号
 * tradeType 交易类型（买：buy，卖：sell）
 * tradePrice 交易金额
 * tradeNum 交易数量
 * dealPwd 密码
 * timeStamp 时间戳（精确到毫秒）
 * token 用户名
 */
export const CoinTrade = (params) => Ajax.Post(dataURL.coins.coinTrade, params);
/**
 * 收藏币币交易类型
 * @param {*} params 
 * method Type Post
 * userId 是 int 用户编号
 * tradeType 是 int 币币交易类型id
 */
export const AddCollection = (params) => Ajax.Post(dataURL.coins.addCollection, params);
/**
 * 取消收藏币币交易类型
 * @param {*} params 
 * method Type Post
 * userId 是 int 用户编号
 * tradeType 是 int 币币交易类型id
 */
export const DelCollection = (params) => Ajax.Post(dataURL.coins.delCollection, params);
/**
 * 获取用户收藏
 * @param {*} params 
 * method Type Post
 * userId 是 int 用户编号
 * searchField 否 string 搜索条件
 * token 是 string token
 */
export const GetMyCollection = (params) => Ajax.Post(dataURL.coins.getMyCollection, params);
/**
 * 我的委托-成交数据
 * @param {*} params 
 * userNo 是 int userNo
 * entrustNo 是 int 货币编号
 * convertNo 否 int 兑换货币编号
 * entrustType 否 String 委托模式委托买 buy 委托卖 sell 什么都不传 查询全部
 * pageSize 是 int 当前页
 * lineSize 是 int 每页数量
 * type 是 int 委托类型 0-1
 * state 是 string 0：未完成，1：已完成，2：已撤销，3：所有 成交记录：委托状态为已完成或者已撤销的记录; 我的委托：委托状态为委托中的记录
 */
export const GetCoinEntrustByUserNoOnTransaction = (params) => Ajax.Post(dataURL.coins.getCoinEntrustByUserNoOnTransaction, params);
/**
 *  撤销币币交易委托
 * @param {*} params 
 * userNo 是 int 用户编号
 * entrustNo 是 int 委托id
 */
export const DelCoinEntrust = (params) => Ajax.Post(dataURL.coins.delCoinEntrust, params);
/**
 * 搜索币币交易类型
 * @param {*} params 
 * searchFiled 是 string 搜索关键字
 * userId 否 int 用户id 可以不传
 * pageNum 是 int 当前页码 为0就不进行分页，获取所有
 * type 是 int 分区类型
 * pageItem 是 int 每页条数
 */
export const FindCoinTypes = (params) => Ajax.Post(dataURL.coins.findCoinTypes, params);
export const Coins = {
  GetAllCoinType,
  GetGroupingByCoinNo,
  GetCoinEntrustPattern,
  GetTradeStatus,
  GetCoinTradeDetail,
  SearchByCoinName,
  FindCoinDataByName,
  CoinTrade,
  AddCollection,
  DelCollection,
  GetMyCollection,
  FindCoinTypes,
  GetCoinEntrustByUserNoOnTransaction,
  DelCoinEntrust,
  GetCoinTrateInfo
};